4  Semantic Versioning für Forschungsdaten

Semantic Versioning (SemVer) ist ein Standard für die Vergabe von Versionsnummern bei der Entwicklung von Software. Es besteht aus drei Komponenten: MAJOR.MINOR.PATCH. Eine typische Versionsnummer nach SemVer kann z.B. so aussehen: v1.0.1.

Hinweis

In Kapitel 6.4 finden Sie ein Beispiel für ein Changelog in einfachem Markdown-Textormat.

4.1 Übertragung von SemVer auf Forschungsdaten

SemVer eignet sich aus unserer Sicht auch sehr gut für die Veröffentlichung von Forschungsdaten. Hierzu müssen wir die Sematik der Komponenten geringfügig anpassen:

  • MAJOR: Erhöhen bei grundlegenden Änderungen, die die Abwärtskompatibilität der Forschungsdaten brechen (z. B. neue Variablenstruktur, neue Datensätze).

  • MINOR: Erhöhen bei Hinzufügungen, die abwärtskompatibel sind (z. B. neue Datenpunkte, zusätzliche Dokumentation)

  • PATCH: Erhöhen bei kleinen Korrekturen, die abwärtskompatibel sind (z. B. Fehlerkorrekturen in den Daten).

4.2 Vorgehen für die Versionierung

  1. Initiale Version: Starten Sie mit v1.0.0 für das erste in Zenodo integrierte GitHub-Release (siehe Kapitel 1).1

  2. Dokumentation von Änderungen:

    • Dokumentieren Sie sämtliche Änderungen zwischen den Versionen in einem Changelog, z. B. CHANGELOG.md.

    • Erhöhen Sie die Versionskennung gemäß SemVer, siehe Tabelle 4.1.

  3. Release-Management:

    • Verwenden Sie GitHub-Releases, um neue Versionen zu kennzeichnen.

    • Die Zenodo-Integration erzeugt automatisch neue DOIs für jede Version.

Tabelle 4.1: Beispiel zur Erhöhung der Versionskennung.
Alte Kennung Änderung Neue Kennung
v1.0.2 PATCH v1.0.3
v1.0.3 MINOR v1.1.0
v1.1.0 PATCH v1.1.1
v1.1.1 MAJOR v2.0.0

  1. Für Arbeitsversionen können Sie vor der ersten Veröffentlichung mit Zenodo-Integration Kennungen kleiner als v1.0.0 vergeben. Beginnen Sie z.B. mit der Kennung v0.0.1.↩︎